/**
 * 与业务有关的公用js定义在该文件中
 * */

/*------------------------------ajax请求 session超时处理-----------------------------------------*/
/**
 * 设置未来(全局)的AJAX请求默认选项
 * 主要设置了AJAX请求遇到Session过期的情况
 */
$.ajaxSetup({
    type: 'POST',
    complete: function(xhr,status) {
        var sessionStatus = xhr.getResponseHeader('sessionstatus');
        if(sessionStatus == 'timeout') {
            var top = getTopWinow();
            $.messager.confirm('提示', '由于您长时间没有操作, session已过期, 请重新登录.', function(r){
            	if(r){
            		top.location.href = '/SalesSystem/jsp/login.jsp';            
            	}
            });
        }
    }
});

/**
 * 在页面中任何嵌套层次的窗口中获取顶层窗口
 * @return 当前页面的顶层窗口对象
 */
function getTopWinow(){
    var p = window;
    while(p != p.parent){
        p = p.parent;
    }
    return p;
}

/*---------------------------------------------------------------------------------------------*/

//检查复制模板名称
function checkCopyTemplateName(templateName){
	if(templateName==undefined || templateName == ''){
		return false;
	}else if(templateName.startWith('copy_') || templateName.endWith('_COPY')){
		$.messager.alert('提示','模板名称可能仍是默认名称，请先修改一下吧！','info');
		return false;
	}
	
	return true;
}

//功能跳转地址,新增和复制模板使用
var forwardUrls = {
	3: '/jsp/hall/ads/ads_page_main.jsp',	
	4: '/jsp/hall/activity/activityManager.jsp',	
	6: '/jsp/hall/menulist/menulistManager.jsp',	
	7: '/jsp/hall/promote/promoteMainPage.jsp',
	8: '/jsp/hall/popwnd/popwndTemplate.jsp',
	1: '/jsp/config/gamelist/gamelist_page_main.jsp',
	2: '/jsp/hall/mall/managerTemplate.jsp',
}

function checkResUrl(treeId,resourceTreeID,contextPath,passParameter1,passParameter2){
	var svnUrl="";
	$('#' + treeId).tree({
	    url:contextPath + '/svnOperationAction.do?method=getCDNInfoBySvn', 
	    	onClick: function(node){
	    		var nodeJson = eval(node);
	    		if(nodeJson.attributes.kind == 'file'){
	    		$.messager.confirm("确认框", '确认选择'+nodeJson.id+'这个资源吗？', function (r) { 
	    			if(r){
	    				 svnUrl =  nodeJson.attributes.svnUrl;
	    				 backInfo(nodeJson,passParameter1,passParameter2);
	    			}
	    			
	    		});
	    		}
	    	},
	    	animate:true,
	    	checkbox:false,
	    	lines:true,
	});
	$('#' + resourceTreeID).show();
	$('#' + resourceTreeID).window({
		title: '资源树',
		width:750,   
		height:450,
		maximizable:false,
		minimizable:false,
		collapsible:false,
		modal:true  
	});
	$('#' + resourceTreeID).window('open');
}

function showTodotaskCheck(dataGridId,openWindowsId){
	$('#'+ dataGridId)
	.datagrid(
			{
				title : 'todotask配置', //网格标题
				width : '99%', //网格宽度
				height : 300, //网格高度
				nowrap : false, //是否换行
				striped : true, //是否隔行换色
				collapsible : true, //是否增加收起表格组件的按钮
				fitColumns : true, //自动扩展列宽
				singleSelect : true, //只选中一行
				loadMsg : '正在加载数据，请稍等...', //加载数据时的提示
				url : '/SalesSystem/ibatisAction.do?method=getTodotaskListAll',
				queryParams : {},
				sortOrder : 'desc', //采用降序排序
				columns : [ [
						{
							field : 'key_id',
							title : "ID",
							align : 'center',
							width : '10%',
							checkbox:true
						},
						{
							field : 'type_id',
							title : "typeID",
							align : 'center',
							width : '20%',
						},
						{
							field : 'todotask',
							title : 'todotask',
							align : 'center',
							width : '50%',
						},
						{
							field : 'description',
							title : "备注",
							align : 'center',
							width : '15%'
						} ] ],
				pagination : true, //是否显示分页栏
				rownumbers : true, //是否显示行号
				pageNumber : 1,
				pageSize : 10

			});
var pager = $('#'+dataGridId).datagrid('getPager'); //返回 pager 对象
	$(pager).pagination({
		beforePageText : "第",
		afterPageText : "页  共{pages}页",
		displayMsg : "当前显示 {from} - {to} 条记录   共 {total} 条记录"
	});

$('#' + openWindowsId).show();
$('#' + openWindowsId).window({
	title: 'todotask选择',
	width:800,   
	height:450,
	maximizable:false,
	minimizable:false,
	collapsible:false,
	modal:true  
});
$('#' + openWindowsId).window('open');
$('#' + openWindowsId).window('center');
}

function checkTodotaskInputById(inpuID){
	
}

/* 选择todotask 配置 start */
var todotaskTextBoxValue = '';
function openTodotasksCheck(pcSingleBtnTodoTaskId){
	if(!isEmpty(pcSingleBtnTodoTaskId)) {
		todotaskTextBoxValue = pcSingleBtnTodoTaskId;
	}
	showTodotaskCheck("todotaskInfoGrid", "todotaskWin");
}
function saveTodotask(){
	var rows = $('#todotaskInfoGrid').datagrid("getSelected");
	if(rows == null){
		$.messager.alert('警告','请选择一条数据进行保存！');
		return;
	}
	var todotaskJSON = $.parseJSON(rows.todotask);
	if(isEmpty(todotaskTextBoxValue)) {  //打开弹窗传过来的值为空的时候
		$('#generalBtnTodoTaskId').textbox('setValue',JSON.stringify(todotaskJSON));
	} else { //打开弹窗，传过来的值为文本框id的时候
		$('#'+todotaskTextBoxValue).textbox('setValue',JSON.stringify(todotaskJSON));
		todotaskTextBoxValue = '';
	}
	closeTodotaskWin();
}
function closeTodotaskWin(){
	$('#todotaskWin').window('close');
}
/* 选择todotask 配置 end */

//新增模板自动生成模板名
function createTemplateName(templateType){
	var d = new Date();
	var templateName = "template_name_" + templateType + "_" + d.format('yyyyMMddhhmmss');
	return templateName;
}

/*
 * 校验模板名称
 * */
/*function checkTemplateName(obj) {
	var rule = ;
}*/

/*
 * 动态获取组织机构
 * @param 下拉框的id
 * @param isShowQueryAll 是否在组织列表中显示'全部'
 * @param isClientInfoList 是不是在clientid中的列表，组织机构10000以上的只有clientid中使用
 * */
function getStruIdList(comboboxId, isShowQueryAll, isClientInfoList){
	var url = '';
	if(isClientInfoList == "true") {
		url = '/SalesSystem/storeTemplateAction.do?method=getSelectedStruIdInfo&isClientInfoList=' + isClientInfoList;
	} else {
		url = '/SalesSystem/storeTemplateAction.do?method=getSelectedStruIdInfo';
	}
	var buttonType = '';
	if(isShowQueryAll == searchStruId) { //查询
		buttonType = buttonTypeDict['query'];
	} else { //新增
		buttonType = buttonTypeDict['insert'];
	}
	 
	$.ajax({
		url : url,	// 跳转到 action  
		type : 'post',
		data:{
			buttonType : buttonType, //查询
			nowStruId : ''
		},
		cache : false,
		dataType : 'json',
		success : function(data) {
			for(var i = 0; i < data.length; i++){
				if(data.length>8){
					if(data[i].id == '9999') {
						var temp = data[0];	data[0] = data[i];data[i] = temp;
					} else if(data[i].id == '6') {
						var temp = data[1];	data[1] = data[i];data[i] = temp;
					} else if(data[i].id == '8') {
						var temp = data[2];	data[2] = data[i];data[i] = temp;
					} else if(data[i].id == '7') {
						var temp = data[3];	data[3] = data[i];data[i] = temp;
					} else if(data[i].id == '21') {
						var temp = data[4];	data[4] = data[i];data[i] = temp;
					} else if(data[i].id == '17') {
						var temp = data[5];	data[5] = data[i];data[i] = temp;
					} else if(data[i].id == '16') {
						var temp = data[6];	data[6] = data[i];data[i] = temp;
					} else if(data[i].id == '1') {
						var temp = data[7];	data[7] = data[i];data[i] = temp;
					}
				}
			}
           $('#'+comboboxId).combobox({  
            	data:data,
                valueField:'id',   
                textField:'text'  
            }); 
            if(isShowQueryAll == searchStruId) {
            	data.unshift({ "text": "全部", "value": "" });
            	$("#"+comboboxId).combobox('loadData', data);
            } else {
            	if(data.length > 0){
                	$('#'+comboboxId).combobox('select', data[0].id);  
                }
            }
		}
	});
}
/*组织机构对应的项目组，新增复制模板的时候，生成模板名称使用*/
/*根据struId获取组织机构的英文名称*/
function getStruIdNameInfo(struId) {
	var gameMark = '';
	$.ajax({
		url: '/SalesSystem/storeTemplateAction.do?method=getGameMarkInfo',
		type: 'post',
		async: false, 
		data: {
			struId: struId
		},
		success: function(data) {
			gameMark = unquote(data);
		},
		error: function(XMLResponse) {
			$.messager.alert('error', '获取gamemark失败！')
		}
	});
	return gameMark;
}
	
function initFuncNameComboboxData(funcNameCombox, funcNames){
	var data=[{ "text": "请选择", "value": "" }];
	for(var i=0; i<funcNames.length;i++){
		var optionData = {};
		optionData["text"] = funcNames[i];
		optionData["value"] = funcNames[i];
		data.push(optionData);
	}
	initCombox(funcNameCombox, data);
}

function initCombox(comboxName, data){
	$('#'+comboxName).combobox({
	    data: [],
	    valueField:'value',
	    textField:'text'
	});
	$('#'+comboxName).combobox('loadData', data);
}

//根据struId获取对应的版本号
/*
 * @param struId
 * @param 获取到的版本号显示的下拉框id
 * */
function getVersion(struId, comboboxId) {
	$.ajax({
		url: '/SalesSystem/activityAction.do?method=getClientVersion',
		type: 'post',
		data: {
			struId: struId
		},
		success: function(data) {
			data = JSON.parse(data);
			$('#' + comboboxId).combobox({
				data: data,
				valueField: 'clientid_version',
				textField: 'clientid_version'
			});
		},
		error: function(e) {
			$.messager.alert('提示', '获取版本号失败！');
		}
	});
}
/*
 * 根据渠道id，获取渠道名称
 * @param:渠道id
 */
function getBelongChannelName(value) {
	var belongChannelName = '';
	if(value == 0) {
		belongChannelName = "无";
	} else {
		$.ajax({
			url: 'channelManagerAction.do?method=selectBelongChannelName',
			type: 'post',
			async: false, 
			data: {
				channelId: value
			},
			success: function(data) {
				belongChannelName = unquote(data);
			},
			error: function(XMLResponse) {
				//$.messager.alert('error', '获取主渠道名称失败！')
			}
		});
	}
	return belongChannelName;
}

/*
 * errorcode弹窗
 * @param:渠道id
 */
function errorcodeWinow(data) {
	$("body").append("<div id='errorcodeWinow'></div>");
	document.getElementById('errorcodeWinow').innerHTML = data;
	var errorcodeWinow = $('#errorcodeWinow').window({
	    title: '错误提示',
	    width: 400,
	    height: 200,
	    shadow: true,
	    modal: true,
	    iconCls: 'icon-tip',
	    closed: true,
	    minimizable: true,
	    maximizable: true,
	    collapsible: true,
	});
	errorcodeWinow.window('open');
}

/*
 * 在可以点击某个按钮的情况下，再判断所选行，是不是有某个指定类型的操作权限
 * @param1 是不是已经选择了这个类型的操作
 * @param2 指定权限的property
 */
function hasSpecifiedRole(SelectedValue, property) {
	var hasSpecifiedRole = false;
	if(SelectedValue) {
		$.ajax({
			url: "svnOperationAction.do?method=getSpecifiedRole",
			type: "post",
			async: false,
			data: {
				property: property,
				accesskey: "",
				title: ""
			},
			success: function(data) {
				if(!isEmpty(data)) {
					data = JSON.parse(data);
					if(data.state == 1) {
						hasSpecifiedRole = data.hasRole;
					} else if(data.state == 0) {
						syncOnlineRole = false;
						$.messager.alert("错误", data.error, "info");
					}
				}
			}
		}); 
	}
	if(SelectedValue && !hasSpecifiedRole) {
		return false;
	} else {
		return true;
	}
}
function getParam(paramName) {
    paramValue = "";
    isFound = false;
    if (this.location.search.indexOf("?") == 0 && this.location.search.indexOf("=") > 1) {
        arrSource = unescape(this.location.search).substring(1, this.location.search.length).split("&");
        i = 0;
        while (i < arrSource.length && !isFound) {
            if (arrSource[i].indexOf("=") > 0) {
                if (arrSource[i].split("=")[0].toLowerCase() == paramName.toLowerCase()) {
                    paramValue = arrSource[i].split("=")[1];
                    isFound = true;
                }
            }
            i++;
        }
    }
    return paramValue;
}
//处理android手机文本框被键盘挡住的问题
function inputTargetHandle_andriod() {
	if (/(iPhone|iPad|iPod|iOS)/i.test(navigator.userAgent)) {
	} else {
		 $('input').on('click', function () {
		        var target = this;
		        // 使用定时器是为了让输入框上滑时更加自然
		        setTimeout(function(){
		          target.scrollIntoView(true);
		        },100);
		 });
	}
}

function click(open,obj) {
    $(open).click(function () {
        $(obj).css("display","block");
    });
}
function close(open,obj) {
    $(open).click(function () {
        $(obj).css("display","none");
    });
}
function href(open,url) {
    $(open).click(function () {
        window.location.href=url;
    });
}
function IsPC() {
    var userAgentInfo = navigator.userAgent;
    var Agents = ["Android", "iPhone",
        "SymbianOS", "Windows Phone",
        "iPad", "iPod"];
    var flag = true;
    for (var v = 0; v < Agents.length; v++) {
        if (userAgentInfo.indexOf(Agents[v]) > 0) {
            flag = false;
            break;
        }
    }
    return flag;
}